package persistencia;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;

import negocio.Medicion;

public class MedicionDao {
	
	private static MedicionDao instancia;
	
	public static MedicionDao getInstancia(){
		if(instancia==null){
			instancia=new MedicionDao();
		}
		return instancia;
	}
	
	public void guardarMedicion(int id,Medicion m){
		Connection con=DataSource.obtenerConexion();
		String query="insert into Medicion values(?,?,?,?)";
		PreparedStatement ps=null;
		try{
			ps=con.prepareStatement(query);
			ps.setInt(1, id);
			ps.setInt(2, m.getMes());
			ps.setInt(3, m.getAnio());
			ps.setFloat(4, m.getConsumo());
			
			ps.execute();
			
			DataSource.cerrarConexion();
		}catch (Exception e) {
			System.out.println("Error en insert medicion>>   "+e.getMessage());
		}
	}
	
	public Vector<Medicion> obtenerMedicionesPorId(int id){
		Vector<Medicion> med=new Vector<Medicion>();
		Connection con=DataSource.obtenerConexion();
		String query="select * from Medicion where usuario=?";
		PreparedStatement ps=null;
		ResultSet rs=null;
		try{
			ps=con.prepareStatement(query);
			ps.setInt(1, id);
			rs=ps.executeQuery();
			
			while(rs.next()){
				Medicion m=new Medicion();
				m.setMes(rs.getInt("mes"));
				m.setAnio(rs.getInt("anio"));
				m.setConsumo(rs.getFloat("consumo"));
				
				med.add(m);
			}
		}catch (Exception e) {
			System.out.println("Error en obtener medicion>>   "+e.getMessage());
		}finally{
			DataSource.cerrarConexion();
		}
		return med;
	}
	
	/*public Medicion obtenerUltimaMedicion(){
		
	}*/
}
